package com.yc.spring.aop;

public class 静态代理 {
    public static void main(String[] args) {
        人 p1 = new 房东();
        人 p2 = new 房屋中介();
        ((房屋中介)p2).proxy(p1);
        p1.say();
        System.out.println("==============");
        p2.say();
    }
}

// 抽象主题
interface 人 {
    public void say();
}

// 真实主题
class 房东 implements 人 {
    @Override
    public void say() {
        System.out.println("我有一套好房!");
    }
}

// 代理主题
class 房屋中介 implements 人 {

    private 人 person;

    public void proxy(人 person) {
        this.person = person;
    }

    @Override
    public void say() {
        person.say();
        System.out.println("交通便利");
        System.out.println("购物方便");
        System.out.println("童叟无欺");
    }
}